# 数据解析的三种方式

# re正则解析
# bs4解析
# xpath解析


# re正则表达式
# Regular Expressior 表达式匹配字符串的语法规则，效率块，准确性高，上手难
# 测试正则表达式在线地址： https://tool.oschina.net/regex

"""
.    匹配换行符以外的任意字符，一个点代表一个字符
\w    匹配字母或数字或下划线
\s    匹配任意空白付
\d    匹配数字    \d{5} 重复5次
\n    匹配一个换行符
\t    匹配一个制表符

^    匹配字符串开始
&    匹配字符串结尾

\W    匹配非字母或数字或下划线
\D    匹配非数字
\S    匹配非空白付
a|b    匹配字符a或者字符b
()    匹配括号内的表达式，也标识一组
[...]    匹配字符组中的字符
[^...]    匹配非字符组中字符的所有字符

量词
*    重复零次或更多次
+    重复一次或更多次
?    重复零次或一次

.*    贪婪匹配
.*?   惰性匹配

"""


def add(n, i):
    return n + i


def test():
    for i in range(4):
        yield i


g = test()

for n in [1, 10, 5]:
    # print(n)
    # print(list(g))
    g = (add(n, i) for i in g)  # (add(n, i) for i in (add(n, i) for i in))
print(g.__next__())
print(g.__next__())
print(g.__next__())
print(g.__next__())


